/***************************************************************************
 创建者：华磊
 开始时间：         : 2020.11.16
 copyright            : (C) 深圳市华友高科有限公司
 修改说明：（每次有修改就添加一条，带有 修改人，修改时间，修改描述）

 ***************************************************************************
 *   程序指令视窗——全部指令窗口
*                                                                         *
 ***************************************************************************/
#ifndef INSTRUCTIONALL_H
#define INSTRUCTIONALL_H

#include <QWidget>

namespace Ui {
class InstructionAll;
}

/**
 * @brief The InstructionAll class　全部指令视窗类
 */
class InstructionAll : public QWidget
{
    Q_OBJECT

public:
    explicit InstructionAll(QWidget *parent = 0);
    ~InstructionAll();

    void changeLanguage();

signals:
    /**
     * @brief allForwardPage　上一页信号函数
     */
    void allForwardPage();

    /**
     * @brief allNextPage　下一页信号函数
     */
    void allNextPage();

    /**
     * @brief openMoveMenu　打开运动指令窗口信号函数
     */
    void openMoveMenu();

    /**
     * @brief openPalletMenu　打开码垛指令窗口信号函数
     */
    void openPalletMenu();

    /**
     * @brief openFlowMenu　打开流程指令窗口信号函数
     */
    void openFlowMenu();

    /**
     * @brief openRegisterMenu　打开寄存器指令窗口信号函数
     */
    void openRegisterMenu();

    /**
     * @brief openIoMenu　打开端口指令窗口信号函数
     */
    void openIoMenu();

    /**
     * @brief openStampingMenu　打开冲压指令窗口信号函数
     */
    void openStampingMenu();

    /**
     * @brief openWeldMenu　打开焊接指令窗口信号函数
     */
    void openWeldMenu();


    /**
     * @brief openOtherMenu　打开其它指令窗口信号函数
     */
    void openOtherMenu();

    /**
     * @brief waitInstruction　等待指令信号函数
     */
    void waitInstruction();

    /**********************************************************
     *
     * 修改者：     hualei
     * 修改时间:    2018-06-21
     * 修改说明：　增加MOVE_MAG、MOVE_FREE 导航指令类窗口
     *
     * *******************************************************/

    /**
     * @brief openGuidanceMenu  打开导航指令窗口信号函数
     */
    void openGuidanceMenu();

    /**********************************************************
     *
     * 修改者：     hualei
     * 修改时间:    2018-07-04
     * 修改说明：　增加MODBUS_START、MODBUS_READ丶MODBUS_WRITE 总线指令类窗口
     *
     * *******************************************************/
    /**
     * @brief openModbusMenu     打开总线指令窗口信号函数
     */
    void openModbusMenu();

    /**
     * @brief openTCPCommunicationMenu     打开TCP通信菜单窗口信号函数
     */
    void openTCPCommunicationMenu();

private slots:
//    /**
//     * @brief on_forwardPage_Btn_clicked　上一页响应槽函数
//     */
//    void on_forwardPage_Btn_clicked();

//    /**
//     * @brief on_nextPage_Btn_clicked　下一页响应槽函数
//     */
//    void on_nextPage_Btn_clicked();

    /**
     * @brief on_moveCom_Btn_clicked　运动指令响应槽函数
     */
    void on_moveCom_Btn_clicked();

    /**
     * @brief on_palletCom_Btn_clicked　码垛指令响应槽函数
     */
    void on_palletCom_Btn_clicked();

    /**
     * @brief on_flowCom_Btn_clicked　流程指令响应槽函数
     */
    void on_flowCom_Btn_clicked();

    /**
     * @brief on_registerCom_Btn_clicked　寄存器指令响应槽函数
     */
    void on_registerCom_Btn_clicked();

    /**
     * @brief on_ioCom_Btn_clicked　端口指令响应槽函数
     */
    void on_ioCom_Btn_clicked();

    /**
     * @brief on_stampingCom_Btn_clicked　冲压指令响应槽函数
     */
    void on_stampingCom_Btn_clicked();

    /**
     * @brief on_waitCom_Btn_clicked　等待指令响应槽函数
     */
    void on_waitCom_Btn_clicked();

    /**
     * @brief on_otherCom_Btn_clicked　其它指令响应槽函数
     */
    void on_otherCom_Btn_clicked();

    /**
     * @brief on_guidanceCom_Btn_clicked
     */
    void on_guidanceCom_Btn_clicked();


    void on_modbusCom_Btn_clicked();

    void on_TCP_Communication_Btn_clicked();

    void on_weldCom_Btn_clicked();

private:
    Ui::InstructionAll *ui;
};

#endif // INSTRUCTIONALL_H
